package Main;

public class Node {
	// to reach current board.
	char operator;
	
	int tileID;

	Node parent;

	Board board; // Current board config.

	int level;

	int heuristics;
	
	int costSoFar; //cost so far from the root node;

	public Node(char oprt, int TID, Board b, int l, Node parnt) {
		operator = oprt;
		tileID = TID;
		board = b;
		level = l;
		parent = parnt;
	}

	public int getCostSoFar() {
		return costSoFar;
	}

	public void setCostSoFar(int costSoFar) {
		this.costSoFar = costSoFar;
	}

	public Node(char oprt, int TID, Board b, int l, Node par, int h) {
		operator = oprt;
		tileID = TID;
		board = b;
		level = l;
		parent = par;
		heuristics = h;
	}

	public int getHeuristics() {
		return heuristics;
	}

	public void setHeuristics(int heuristics) {
		this.heuristics = heuristics;
	}

	public void setOperator(char operator) {
		this.operator = operator;
	}

	public Node getParent() {
		return parent;
	}

	public void setParent(Node parent) {
		this.parent = parent;
	}

	public int getLevel() {
		return level;
	}

	public void setLevel(int level) {
		this.level = level;
	}

	public Board getBoard() {
		return board;
	}

	public void setBoard(Board board) {
		this.board = board;
	}

	public char getOperator() {
		return operator;
	}

	public int getTileID() {
		return tileID;
	}

	public void setTileID(int tileID) {
		this.tileID = tileID;
	}

}
